package com.misyi.designpattern.singleton;

/**
 * 饿汉单例模式
 *
 * @author licong
 * @date 2021-09-11 下午6:56
 */
public class HungrySingletonPatternDemo {

    public static class Singleton {

        /**
         * 第一步: 直接将类的实例创建出来, 赋予 static final 修改的变量
         *
         * static: 该类的一个静态变量
         * final: 这个变量的引用第一次初始化之后, 就不能修改引用了
         */
        private static final Singleton INSTANCE = new Singleton();

        /**
         * 第二步: 私有化构造器
         *
         * 只允许在该类中创建类的实例
         */
        private Singleton() {

        }

        /**
         * 第三步: 提供一个获取实例的静态方法
         *
         * 在类创建的时候就会把实例对象初始化出来
         * @return
         */
        public static Singleton getInstance() {
            return INSTANCE;
        }

    }


}
